'\" t
.\"     Title: gifcompose
.\"    Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\"      Date: 2 May 2012
.\"    Manual: GIFLIB Documentation
.\"    Source: GIFLIB
.\"  Language: English
.\"
.TH "GIFCOMPOSE" "1" "2 May 2012" "GIFLIB" "GIFLIB Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
gifcompose \- image\-composition minilanguage for GIFs
.SH "SYNOPSIS"
.HP \w'\fBgifcompose\fR\ 'u
\fBgifcompose\fR [\-v]
.SH "DESCRIPTION"
.PP
The gifcompose program uses the GIFLIB utility tools to support a minilanguage for describing GIF pasteup sequences\&.
.SH "SPECIFICATION SYNTAX"
.PP
The gifcompose tool takes a series of text lines on stdin and interprets them as commands to do pasteup operations\&. The commands are:
.PP
\fBgif <name>\fR
.RS 4
Paste in <name>\&.gif
.RE
.PP
\fBraw <name> <width> <height>\fR
.RS 4
Paste in the given raw\-format file (no suffix supplied)\&. Raw format is a stream of 8\-bit indices into the EGA color map\&. Accordingly, the width and height must be specified, and the source must be exactly width times height bytes long\&.
.RE
.PP
\fBrgb <name> <width> <height>\fR
.RS 4
Paste in the given RGB\-format file (no suffix supplied)\&. Raw format is a stream of 24\-bit color values\&. Accordingly, the width and height must be specified, and the source must be exactly 3 times width times height bytes long\&.
.RE
.PP
\fBtext <text> [foreground <index>] [color <r> <g> <b>]\fR
.RS 4
Copy 8x8 monospace font, with transparent background and index 1 as foreground\&. If the text string contains whitespaces, they must be escaped or the string must be quoted (shell conventions)\&.
.sp
The optional suffix `foreground <n>\*(Aq sets the foreground color index\&.
.sp
The optional suffix `color <r> <g> <b>\*(Aq sets the RGB color to be used for the foreground index\&.
.RE
.PP
Each generator operation may be followed by any combination of the following suffixes:
.PP
\fBat <x> <y>\fR
.RS 4
Place the image at the given (upper\-left\-hand\-corner) coordinates in the pasted\-up result\&.
.RE
.PP
\fBclip <name> <top\-x> <top\-y> <bottom\-x> <bottom\-y>\fR
.RS 4
Clip image using the given rectange, paste it onto\&.
.RE
.PP
\fBxflip\fR
.RS 4
Flip the image around the X axis before placing it\&.
.RE
.PP
\fByflip\fR
.RS 4
Flip the image around the Y axis before placing it\&.
.RE
.PP
\fBleft\fR
.RS 4
Rotate the image 90 degrees counterclockwise before placing it\&.
.RE
.PP
\fBright\fR
.RS 4
Rotate the image 90 degrees clockwise before placing it\&.
.RE
.PP
\fBscreen size <x\-size> <y\-size>\fR
.RS 4
Set the global screen size of the final image\&.
.RE
.PP
\fBscreen position <x> <y>\fR
.RS 4
Set the global screen position of the final image\&.
.RE
.PP
Comments or comment lines may be preceded with `#\*(Aq and will be ignored\&.
.SH "OPTIONS"
.PP
\-v
.RS 4
Emit a report on each composition action to stderr as it happens\&.
.RE
.SH "BUGS"
.PP
The suffix sequence `left left\*(Aq sometimes mysteriously fails to work, probably due to some restriction in
\m[blue]\fBgifflip\fR\m[]\&\s-2\u[1]\d\s+2\&.
.PP
No support for resizing or odd\-angle rotations yet\&.
.PP
The `color\*(Aq suffix of text is a no\-op, because the present version of
\m[blue]\fBgifovly\fR\m[]\&\s-2\u[2]\d\s+2
throws away color tables\&.
.PP
Error checking is rudimentary\&.
.SH "AUTHOR"
.PP
Eric S\&. Raymond
esr@thyrsus\&.com
.SH "NOTES"
.IP " 1." 4
gifflip
.RS 4
\%[set $man.base.url.for.relative.links]/gifflip.html
.RE
.IP " 2." 4
gifovly
.RS 4
\%[set $man.base.url.for.relative.links]/gifovly.html
.RE
